When using a printer with a computer, a situation sometimes arises in which a print job is sent to the printer and it is later desired to recall or cancel the print job. In some cases, the print job can be canceled from the computer. In other cases, it may be too late to cancel the job from the computer, and it may be necessary to interact with the printer in order to cancel the job.
Many printers have a “cancel” button that a user presses to cancel the print job that is currently being processed. The ability to cancel the current print job is effective and sufficient in many situations. However, the simple functionality of a cancel button can be inadequate in other situations.
Specifically, there are situations in which multiple print jobs are mistakenly sent to the printer and a user wishes to cancel many or all of such print jobs. For example, suppose there is a condition that prevents the printer from processing its print jobs—an out-of-paper condition or a network communications problem. In response to a condition such as this, a user's initial attempt to print a document fails, and the user might respond by sending the print job to the printer multiple times before realizing the nature of the problem. Once the problem is fixed, the printer dutifully completes the multiple, duplicate print jobs, even though the user really needed only a single copy of the document. The printer's cancel button can be used to cancel each successive print job, but the user must stand by the printer to press the cancel button as the printer receives or attempts to print each successive print job. In many cases, it is difficult to correctly time this operation, and the printer might print an initial page of each document before the user can cancel it.
As another example, there are times when a user inadvertently sends a binary file or other file that is not formatted appropriately for the printer. Although the printer attempts to interpret the file as a valid print job, the resulting output is usually a sequence of random characters. Furthermore, certain codes encountered by the printer when parsing such binary files are interpreted as “end-of-job” codes, which cause the printer to advance to a new page and begin what it has interpreted as a new job. Thus, the end result of sending a binary file to the printer can be a large number of wasted pages. To avoid this result, the user needs to press the cancel button as each new “job” is encountered. In many cases, the printer is faster than the user, so that the user is unable to press the cancel button fast enough to avoid printing at least one page for each “job”. This can result in a lot of wasted paper and time.